var baseTabOnce = 0; //标记基本信息tab是否被点击过 0 否  1 是
var invisiableTabOnce = 0; //标记商品可见性tab是否被点击过 0 否  1 是
$(function() {
	
	$('input[type="radio"][name="productStatus"]').iCheck({radioClass: 'iradio_square-green'});
	
	$('input[type="radio"][name="isQuato"]').iCheck({radioClass: 'iradio_square-green'});
	
	jQuery.metadata.setType("attr", "validate");
	
	$('input[type="checkbox"]').iCheck({checkboxClass: 'icheckbox_square-green'});

	// 加载模板属性
	if ($("#id").val()) {
		// 主动加载模版
		doReLoadTemplateByCategory();
		// doChangePropertyTemplate($("#propertyTmeplateId").val());
		// 初始化规格组合表格
		initSpecRelaTable();
	}
	// 价格初始表格
	initPriceTable();

	// 关联商品搜索列表初始化
	initProductRelaSearchTable();
	// 关联商品列表初始化
	initProductRelaChoseTable();

	// 查询
	$('#btnQuery').on('click', function() {
		sys.reloadTable('productRelaSearchTable');
	});

	// 商品显示权重
	var t_sortWeight = $("#sortWeightTxt").val();
	sys.selectpicker({
		id : 'sortWeight', // select的id
		url : rootPath + "/dict/listKeyMapEntites", // 请求数据的远程地址
		param : {
			keyType : 'sortWeight'
		}, // 过滤参数
		defaultValue : t_sortWeight,
		valueField : 'keyValue',
		textField : 'keyIntro'
	});
	
	// 品牌
	var t_brandCode = $("#brand").val();
	sys.selectpicker({
		id : 'brandCode', // select的id
		url : rootPath + "/productBrand/getBrandList", // 请求数据的远程地址
		defaultValue : t_brandCode,
		valueField : 'id',
		textField : 'brandNameCh'
	});
	// 子品牌
	var t_childBrandCode = $("#childBrand").val();
	$("#childBrandCode").empty().selectpicker('refresh');
	sys.selectpicker({
		id : 'childBrandCode', // select的id
		url : rootPath + "/productBrand/getBrandList", // 请求数据的远程地址
		param : {
			parentBrandCode : ($("#brandCode").val() ? $("#brandCode").val() : t_brandCode)
		}, // 过滤参数
		defaultValue : t_childBrandCode,
		defaultAll : true,
		valueField : 'id',
		textField : 'brandNameCh'
	});

	// 品牌选择框change事件
	$("#brandCode").on('changed.bs.select', function(e) {
		// 获取省ID值
		var brandValue = $(this).selectpicker('val');
		var t_childBrandCode = $("#childBrand").val();
		// 清空子品牌下拉框
		if (!brandValue)
			return;
		$("#childBrandCode").empty().selectpicker('refresh');
		sys.selectpicker({
			id : 'childBrandCode', // select的id
			url : rootPath + "/productBrand/getBrandList", // 请求数据的远程地址
			param : {
				parentBrandCode : brandValue
			}, // 过滤参数
			defaultValue : t_childBrandCode,
			defaultAll : true,
			valueField : 'brandCode',
			textField : 'brandNameCh'
		});
	});
	var t_productSalesUnit = $("#salesUnit").val();
	sys.selectpicker({
		id : 'productSalesUnit', // select的id
		url : rootPath + "/productUnit/getUnitList", // 请求数据的远程地址
		defaultValue : t_productSalesUnit,
		valueField : 'id',
		textField : 'unitName'
	});

	/**
	 * 市场价级别
	 */
	var t_marketPriceLevel = $("#marketPriceLevel").val();
	if (t_marketPriceLevel) {
		$("#marketPrice").attr("readonly", true);
	}
	sys.selectpicker({
		id : 'marketPriceLevelCombo', // select的id
		url : rootPath + "/customerLevel/listCustomerLevel", // 请求数据的远程地址
		valueField : 'id',
		textField : 'levelName',
		defaultValue : t_marketPriceLevel
	});
	$("#marketPriceLevelCombo").on('changed.bs.select', function(e) {
		var marketPriceLevel = $("#marketPriceLevelCombo").val();
		if (marketPriceLevel) {
			$("#marketPrice").attr("readonly", true);
			var chosePrice = $("#totalPrice_" + marketPriceLevel).html();
			$("#marketPrice").val(chosePrice);
		} else {
			$("#marketPrice").attr("readonly", false);
		}
	});

	/**
	 * 游客价级别
	 */
	var t_touristPriceLevel = $("#touristPriceLevel").val();
	if (t_touristPriceLevel) {
		$("#touristPrice").attr("readonly", true);
	}
	sys.selectpicker({
		id : 'touristPriceLevelCombo', // select的id
		url : rootPath + "/customerLevel/listCustomerLevel", // 请求数据的远程地址
		valueField : 'id',
		textField : 'levelName',
		defaultValue : t_touristPriceLevel
	});
	$("#touristPriceLevelCombo").on('changed.bs.select', function(e) {
		var touristPriceLevel = $("#touristPriceLevelCombo").val();
		if (touristPriceLevel) {
			$("#touristPrice").attr("readonly", true);
			var chosePrice = $("#totalPrice_" + touristPriceLevel).html();
			$("#touristPrice").val(chosePrice);
		} else {
			$("#touristPrice").attr("readonly", false);
		}
	});
});


// 初始
var validateOptionsBasic = {
	rules : {
		productCode : {
			required : true,
			minlength : 1,
			maxlength : 30
		},
		propertyTmeplateId : {
			required : true
		},
		productName : {
			required : true,
			minlength : 2,
			maxlength : 100
		},
		brandCode : {
			required : true
		},
		productCategoryId : {
			required : true
		},
		productSalesUnit : {
			required : true
		}
	},
	message : {
		productCode : {
			required : '不可为空'
		},
		productName : {
			required : '不可为空'
		}
	},
	errorPlacement : function(error, element) { // 错误信息位置设置方法
		if (element.is(':radio') || element.is(':checkbox')) {
			error.appendTo(element.parent().parent());
		} else {
			error.insertAfter(element);
		}
	},
	submitHandler : function(form) {
		showErr(1);
	}
};

var validateOptionsPrice = {
	rules : {},
	errorPlacement : function(error, element) { // 错误信息位置设置方法
		error.insertAfter(element);
	},
	submitHandler : function(form) {
		showErr(1);
	}
};

/**
 * 基价重新输入，价格重新计算
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月13日 下午7:57:19
 */
function doReCalcPrice(obj) {

	var basePrice = obj.value;
	var reg = /^\-?\d+\.?\d*$/;
	if (!reg.test(basePrice)) {
		return;
	}
	// sys.reloadTable('priceTable');
	var priceDataRows = $("#priceTable").bootstrapTable("getData");
	for (var i = 0; i < priceDataRows.length; i++) {
		var total = parseFloat(priceDataRows[i].diffPrice) + parseFloat(basePrice);
		priceDataRows[i].totalPrice = total.toFixed(2);
	}
	// $("#priceData").html(JSON.stringify(priceDataRows));
	$("#priceTable").bootstrapTable('load', priceDataRows);
	$("#touristPrice").val('');
	$("#marketPrice").val('');
	$("#touristPrice").attr("readonly", false);
	$("#marketPrice").attr("readonly", false);

	$("#priceForm").find("#marketPriceLevelCombo").val("");
	$("#priceForm").find("#touristPriceLevelCombo").val("");

	$("#marketPriceLevelCombo").selectpicker('refresh');
	$("#touristPriceLevelCombo").selectpicker('refresh');

}

/*******************************************************************************
 * 打开价格日志
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月3日 下午4:07:48
 */
function openPriceLog(type) {
	$('#productPriceModal').modal('show');
	// 定义列
	var columns = [ {
		checkbox : true,
		align : 'center'
	}, {
		title : '序号',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			var options = $("#productPriceTable").bootstrapTable("getOptions");
			return options.pageSize * (options.pageNumber - 1) + index + 1;
		}
	}, {
		field : 'modifyTime',
		title : '时间',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			return formatDateTime(value, row, index);
		}
	}, {
		field : 'modifier',
		title : '变更人',
		align : 'center',
		valign : "middle"
	}, {
		field : 'oldValue',
		title : '历史价格',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			if (parseFloat(value)) {
				return parseFloat(value);
			} else {
				return "-";
			}
		}
	}, {
		field : 'newValue',
		title : '新价格',
		align : 'center',
		valign : "middle"
	} ];

	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var id = $("#id").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			type : type,
			productId : id
		};
	};
	var url = rootPath + "/product/getPriceLogList"; // 请求json数据的服务器地址
	sys.initTable('productPriceTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		pagination : true,
		clickToSelect : true
	});
}

/*******************************************************************************
 * 打开价格历史
 */
function openPriceHistory(priceLevel) {
	$('#productPriceModal').modal('show');
	// 定义列
	var columns = [ {
		checkbox : true,
		align : 'center'
	}, {
		title : '序号',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			var options = $("#productPriceTable").bootstrapTable("getOptions");
			return options.pageSize * (options.pageNumber - 1) + index + 1;
		}
	}, {
		field : 'basePrice',
		title : '基价',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			if (value) {
				return parseFloat(value);
			} else {
				return "-";
			}
		}
	}, {
		field : 'diffPrice',
		title : '价格浮动',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			if (value) {
				return "<font color='red'>" + parseFloat(value) + "</font>";
			} else {
				return "-";
			}
		}
	}, {
		field : 'customerPrice',
		title : '客户价格',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			if (value) {
				return parseFloat(value);
			} else {
				return "-";
			}
		}
	}, {
		field : 'modifier',
		title : '变更人',
		align : 'center',
		valign : "middle"
	}, {
		field : 'modifyTime',
		title : '时间',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			return formatDateTime(value, row, index);
		}
	} ];

	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var id = $("#id").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			priceLevel : priceLevel,
			productId : id
		};
	};
	var url = rootPath + "/product/getPriceHistoryList"; // 请求json数据的服务器地址
	sys.initTable('productPriceTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		pagination : true,
		clickToSelect : true
	});
}

/**
 * 计算
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月3日 下午2:12:45
 * @param obj
 * @param index
 */
function doModTotal(obj, priceLevel, index) {
	var basePrice = $("#basePrice").val();
	var reg = /^\-?\d+\.?\d*$/;
	var diffPrice = obj.value;
	if (!reg.test(diffPrice)) {
		return;
	}
	var total = parseFloat(diffPrice) + parseFloat(basePrice);
	$("#totalPrice_" + priceLevel).html(total.toFixed(2));
	var priceDataRows = $("#priceTable").bootstrapTable("getData");
	priceDataRows[index].diffPrice = diffPrice;
	priceDataRows[index].totalPrice = total.toFixed(2);
	// $("#priceData").html(JSON.stringify(priceDataRows));
	$("#priceTable").bootstrapTable('load', priceDataRows);
	var nextIndex = parseInt(index) + parseInt(1);
	try {
		$('#diffPrice_' + parseInt(nextIndex)).focus();
		$('#diffPrice_' + parseInt(nextIndex)).select();
	} catch (e) {
		console.log(e);
	}
	// $("#diffPrice").bootstrapTable("updateCell", {
	// index : index,
	// field: 'diffPrice',
	// value: diffPrice
	// });
}

/**
 * 关联商品列表初始化
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月17日 下午3:57:28
 */
function initProductRelaChoseTable() {
	var columns = [ {
		title : '序号',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			return index + 1;
		}
	}, {
		field : 'id',
		title : 'ID',
		valign : 'middle',
		align : 'center',
		visible : false
	}, {
		field : 'productCode',
		title : '商品编码',
		valign : 'middle',
		align : 'center'
	}, {
		field : 'productName',
		title : '商品名称',
		valign : 'middle',
		align : 'left'
	}, {
		field : 'productCategoryName',
		title : '商品分类',
		valign : 'middle',
		align : 'center',
		formatter : function(value, row, index) {
			return "<font color='#26B99A'>" + value.replace(/\|/g, " / ") + "</font>";
		}
	} ];
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		return {
			productId : $("#id").val()
		};
	};

	var url = rootPath + "/product/listProductRela"; // 请求json数据的服务器地址
	sys.initTable('productRelaChoseTable', {
		url : url,
		idField : 'id',
		queryParams : queryParams,
		columns : columns,
		striped : true,
		pagination : false,
		clickToSelect : true
	});
}
function removeChoseRela(id) {
	$("#productRelaChoseTable").bootstrapTable('remove', {
		field : 'id',
		values : [ parseInt(id) ]
	});
}
/**
 * 关联商品搜索列表初始化
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月17日 下午3:56:51
 */
function initProductRelaSearchTable() {
	var columns = [ {
		checkbox : true,
		align : 'center',
		valign : 'middle'
	}, {
		field : 'id',
		title : 'ID',
		valign : 'middle',
		align : 'center',
		visible : false
	}, {
		title : '序号',
		align : 'center',
		valign : 'middle',
		formatter : function(value, row, index) {
			return index + 1;
		}
	}, {
		field : 'productCode',
		title : '商品编码',
		valign : 'middle',
		align : 'center'
	}, {
		field : 'productName',
		title : '商品名称（品牌）',
		valign : 'middle',
		align : 'left'
	}, {
		field : 'productCategoryName',
		title : '商品分类',
		valign : 'middle',
		align : 'center',
		formatter : function(value, row, index) {
			return "<font color='#26B99A'>" + value.replace(/\|/g, " / ") + "</font>";
		}
	} ];
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var productCode = $("#searchProductCode").val();
		var productName = $("#searchProductName").val();
		// var productCategoryCode = $("#searchProductCategoryCode").val();
//		var productCategoryId = $("#searchProductCategory").attr("bind-data");
		var productId = (productCode || productName) ? $("#id").val() : '';
		return {
			productId : productId,
			productCode : productCode,
			productName : productName,
//			productCategoryId : productCategoryId,
			type : '1'
		};
	};
	var url = rootPath + "/product/listProductRela"; // 请求json数据的服务器地址
	sys.initTable('productRelaSearchTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		pagination : false,
		clickToSelect : true,
		onCheck : function(row) {
			var dataRows = $("#productRelaChoseTable").bootstrapTable('getData');
			if (dataRows) {
				for (var i = 0; i < dataRows.length; i++) {
					if (dataRows[i].id == row.id) {
						showErr('该商品已选择!');
						return;
					}
				}
			}
			$("#productRelaChoseTable").bootstrapTable('append', row);
		},
		onCheckAll : function(rows) {
			var dataRows = $("#productRelaChoseTable").bootstrapTable('getData');
			if (dataRows) {
				var isExists = false;
				var msg = '';
				for (var i = 0; i < dataRows.length; i++) {
					for (var j = 0; j < rows.length; j++) {
						if (dataRows[i].id == rows[j].id) {
							msg += '商品:' + rows[j].productName + '已选择！<br>';
							isExists = true;
						}
					}
				}
				if (isExists) {
					showErr(msg);
				} else {
					for (var j = 0; j < rows.length; j++) {
						$("#productRelaChoseTable").bootstrapTable('append', rows[j]);
					}
				}

			}
		},
		onUncheck : function(row) {
			$("#productRelaChoseTable").bootstrapTable('remove', {
				field : 'id',
				values : [ parseInt(row.id) ]
			});
		},
		onUncheckAll : function(rows) {
			for (var j = 0; j < rows.length; j++) {
				$("#productRelaChoseTable").bootstrapTable('remove', {
					field : 'id',
					values : [ parseInt(rows[j].id) ]
				});
			}
		}
	});
}

/**
 * 初始化价格表格
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月3日 下午2:12:53
 */
function initPriceTable() {
	// 定义列
	var columns = [
			{
				field : 'priceLevel',
				title : '级别',
				align : 'center',
				valign : "middle",
				visible : false
			},
			{
				field : 'priceLevelName',
				title : '客户级别',
				align : 'center',
				valign : "middle",
				width : '30%'
			},
			{
				field : 'diffPrice',
				title : '价格浮动',
				align : 'center',
				valign : "middle",
				width : '30%',
				formatter : function(value, row, index) {
					var tdInputHtml = null;
					if (value) {
						// tdInputHtml ='<input style="width:100%;"
						// validate="{required:true,number:true}" type="text"
						// oninput="javascript: doModTotal(this,\'' +
						// row.priceLevel + '\',\'' + index + '\');"
						// class="form-control col-md-12 diffPrice"
						// name="diffPrice_' + index + '" id="diffPrice_' +
						// index + '" value="'+value+'" />';
						// blur 失去焦点事件
						tdInputHtml = '<input style="width:100%;" validate="{required:true,number:true}" type="text" onchange="javascript: doModTotal(this,\''
								+ row.priceLevel
								+ '\',\''
								+ index
								+ '\');" class="form-control col-md-12 diffPrice" name="diffPrice_'
								+ index
								+ '" id="diffPrice_' + index + '" value="' + value + '" />';
					} else {
						tdInputHtml = '<input style="width:100%;" validate="{required:true,number:true}" type="text" onchange="javascript: doModTotal(this,\''
								+ row.priceLevel
								+ '\',\''
								+ index
								+ '\');" class="form-control col-md-12 diffPrice" name="diffPrice_'
								+ index
								+ '" id="diffPrice_' + index + '" value="0" />';
					}
					return tdInputHtml;
				}
			}, {
				field : 'totalPrice',
				title : '订货价',
				align : 'center',
				valign : "middle",
				width : '30%',
				formatter : function(value, row, index) {
					try {
						var basePrice = ($("#basePrice").val()) ? $("#basePrice").val() : 0;
						var diffPrice = (row.diffPrice) ? row.diffPrice : 0;
						var total = parseFloat(basePrice) + parseFloat(diffPrice);
						var tdspan = "<span id='totalPrice_" + row.priceLevel + "'>" + total.toFixed(2) + "</span>";
						row.totalPrice = total.toFixed(2);
						return tdspan;
					} catch (e) {
						return "0";
					}
				}
			},
			{
				title : '历史价格',
				align : 'center',
				valign : "middle",
				width : '10%',
				formatter : function(value, row, index) {
					var btnHtml = "<a href='#' onclick='javascript: openPriceHistory(\"" + row.priceLevel + "\");'>价格变更历史</a>";
					return btnHtml;
				}
			} ];
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		// 商品编号
		var id = $("#id").val();
		return {
			productId : id
		};
	};
	var url = rootPath + "/product/getPriceList"; // 请求json数据的服务器地址
	sys.initTable('priceTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		pagination : false,
		clickToSelect : true
	});
}

/**
 * 删除图片
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月15日 下午3:27:08
 * @param index
 */
function doDelImg(index) {
	$("#imgli" + index).remove();
}

/**
 * 通过ajax提交图片
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月15日 下午3:27:18
 * @param obj
 * @returns {Boolean}
 */
function ajaxFileUpload(obj) {
	var imgboxArr = $('input[name="prodImage"]');
	if (imgboxArr.length >= 4) {
		showErr('您最多只可以上传 4 张图片，请删除多出图片！');
		return;
	}
	var id = $(obj).attr("id");
	var check = imageCheck(obj);
	if (!check) {
		return;
	}
	$.ajaxFileUpload({
		url : rootPath + '/uploadFile/uploadOneFile',
		secureuri : false,
		fileElementId : id, // input标签id属性值
		dataType : 'json',
		success : function(data, status) {
			if (data.code == 1) {
				// 获取最后一位
				var end = data.filePath.substr(data.filePath.length - 1, 1);
				// 异常情况下是符号（.）
				if ("." != end) {
					var index = new Date().getTime();
					// 默认主图
					var first = '';
					var oldHtml = $("#proImgBox img");
					// 不是主图
					if (oldHtml.length == 0) {
						first = 'bgred';
					}
					imgHtml = '<li class="imgbox" draggable="true" id="imgli' + index + '">'
							+ '<a class="item_new_close item_close" href="javascript: doDelImg(' + index
							+ ');" title="删除"></a>' + '<input type="hidden" value="' + data.filePath
							+ '" name="prodImage" >' + '<span class="item_box ' + first + '">' 
							+ '<a rel="productImg" href="'+ (SystemImgPath + data.filePath) + '">'
							+ '	<img src="'+ (SystemImgPath + data.filePath) + '?x-oss-process=image/resize,h_100/format,png">' 
							+ '</a>'
							+ '</span>' + '</li>';
					$("#proImgBox").append(imgHtml);
					//initFancyBoxImg("productImg");
				}
				// var oldLi = "<li>"
				// + "<div class=\"pic1\">"
				// + "<img src=\""
				// + rootPath
				// + "/statics/images/upload_pic1.png\" />"
				// + "<input id=\"uploadImage\" type=\"file\"
				// name=\"uploadImage\" onchange=\"ajaxFileUpload(this)\" />"
				// + "</div>"
				// + "</li>";
				// var li = "<li>"
				// + " <div class=\"pic1\">"
				// + "<img src=\"" + imgRootURL + data.filePath + "\" />"
				// + "<a id=\"btn_close\" href=\"javascript:void(0)\"
				// class=\"icon_close\"></a>"
				// + "<input type=\"hidden\" name=\"prodImage\" value=\"" +
				// data.filePath + "\" />"
				// + "</div>"
				// + "</li>";
				// $("#image_container").empty();
				// $("#image_container").append(li);
				// $("#image_container").append(li);
				// $("#image_container").find("a").each(function() {
				// $(this).click(function() {
				// $(this).closest("li").remove();
				// //$("#image_container").append(oldLi);
				// });
				// });
			} else {
				showErr("上传失败");
			}
		},
		error : function(data, status, e) {
			showErr("系统异常");
		}
	});
}

//检查图片格式及大小
function imageCheck(obj){
	var id = $(obj).attr("id");
	var filePath = $("#"+id).val();
	//检查后缀
	var ext = filePath.substring(filePath.lastIndexOf("."), filePath.length).toUpperCase();
	if (ext != ".BMP" && ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG") {
		layer.msg('只能上传图片',{time:500});
		return false;
	}
	var file_size = 0;
	if (false || !!document.documentMode) {
		var img = new Image();
		img.src = filepath;
		while (true) {
			if (img.fileSize > 0) {
				if (img.fileSize > 5 * 1024 * 1024) {
					layer.msg('图片不能大于5MB',{time:1000});
					return false;
				}
				break;
			}
		}
	} else {
		file_size = obj.files[0].size;
		var size = file_size / 1024;
		if (size > 5120) {
			layer.msg('图片不能大于5MB',{time:1000});
			return false;
		}
	}
	return true;
}

/**
 * 上下架
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月17日 下午6:16:22
 * @param spanId
 * @param onlineStatus
 */
function setRelaOnStatus(spanId, onlineStatus) {
	$(".bootstrap-switch-handle-on.btn-danger").addClass('bootstrap-switch-handle-off');
	$(".bootstrap-switch-handle-on.btn-danger").removeClass('btn-danger');
	$(".bootstrap-switch-handle-on").removeClass('btn-danger');
	$(".bootstrap-switch-handle-on").removeClass('bootstrap-switch-handle-on');
	$("#" + spanId).removeClass('bootstrap-switch-handle-off');
	$("#" + spanId).addClass('bootstrap-switch-handle-on');
	$("#" + spanId).addClass('btn-danger');
	$("#onlineStatus").val(onlineStatus);
}

/**
 * 关联商品保存
 */
$("#btnSaveRela").click(function() {
	// window.location.href = rootPath + "/product/toListProductPage";
	var index = parent.layer.getFrameIndex(window.name);
	parent.$('#opt_status').val(''); 
	parent.layer.close(index);
});

/**
 * 图文描述保存
 */
$("#btnSaveDesc").click(function() {
	doSelectTab('rela');
});

/**
 * 保存商品规格设置
 */
$("#btnSaveNorms").click(function() {
	doSelectTab('visible');
});

/**
 * 价格保存
 */
$("#btnSavePrice").click(function() {
	doSelectTab('norms');
});

$("#btnSaveBase").click(function() {
	sys.reloadTable('priceTable');
	doSelectTab('price');
});

/**
 * 属性-规格选择
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月2日 下午11:43:47
 * @param obj
 */
function doSetValue(obj) {
	try {
		if(null != obj) {
			//属性选中样式变更
			var id = $(obj).attr("id");
			var title = $(obj).attr("title");
			var name = $(obj).attr("name");
			$("div[name='" + name + "']").removeClass("divcheck");
			$("div[name='" + name + "']").addClass("divuncheck");
			$("#" + id).removeClass("divuncheck");
			$("#" + id).addClass("divcheck");
		}
	} catch (e) {
		console.log(e);
	}
	//重新遍历所有选中的属性
	$("#properties").val("");
	var arr = $("div.divcheck.baseTab");
	for (var i = 0; i < arr.length; i++) {
		$("#properties").val($("#properties").val() + "," + arr[i].title);
		// showErr(arr.attr('title'))
	}
}

/**
 * 商品标签选中
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月11日 下午10:12:25
 */
function doSetTagValue(obj, txtId) {
	var id = $(obj).attr("id");
	var title = $(obj).attr("title");
	var name = $(obj).attr("name");
	$("div[name='" + name + "']").removeClass("divcheck");
	$("div[name='" + name + "']").addClass("divuncheck");
	$("#" + id).removeClass("divuncheck");
	$("#" + id).addClass("divcheck");
	$("#" + txtId).val(title);
}

/**
 * 属性点击选中
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月16日 上午12:57:04
 */
function doLoadProductSpecByCategory() {
	var productId = $("#id").val();
	if (!productId) {
		showErr('请先保存商品基本信息')
		return;
	}
	$.ajax({
		url : rootPath + "/product/doLoadProductSpec",
		type : "post",
		async : false,
		dataType : 'json',
		data : {
			productId : productId
		},
		success : function(json) {
			if (json.code == '1') {
				loadProductSpec(json);
			} else {
				showErr(json.msg);
			}
		}
	});
}

/**
 * 加载商品分类关联规格项
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月16日 下午3:49:06
 * @param json
 */
function loadProductSpec(json) {
	var map = json.data;
	if (!map) {
		showErr('解析返回规格项集合失败！')
		return;
	}
	// 已选中的规格项-规格值
	var productSpecChose = $("#productSpecChose").val();
	// 清空原有
	$("#productSpecDiv").html('');
	var specRows = map.categorySpecList;
	var proSpecRows = map.proSpecList;
	// 是否需要验证商品关联规格,默认不验证
	var proSpecFlag = false;
	if (proSpecRows && proSpecRows.length > 0) {
		proSpecFlag = true;
	}
	if (specRows && specRows.length > 0) {
		for (var i = 0; i < specRows.length; i++) {
			var spec = specRows[i];
			if (proSpecFlag) {
				var isExists = false;
				for (var j = 0; j < proSpecRows.length; j++) {
					var proSpec = proSpecRows[j];
					// 比较规格名称，规格值
					// spec.specName == proSpec.specName && spec.specValue == proSpec.specValue
					if (spec.id == proSpec.specId) {
						// 存在
						isExists = true;
						doFullSpecHtml(spec.id, spec.specName, spec.specValue, isExists);
						break;
					}
				}
				// 不存在
				if (!isExists) {
					doFullSpecHtml(spec.id, spec.specName, spec.specValue, isExists);
					doGetCheckedSpec();
				}
			} else {
				// 默认全选
				doFullSpecHtml(spec.id, spec.specName, spec.specValue, true);
				doGetCheckedSpec();
			}
		}
	} else {
		showErr('该商品分类未关联规格项！')
		return;
	}
}

/**
 * 页面加载元素
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月16日 下午3:49:06
 * @param json
 */
function doFullSpecHtml(specId, specName, specValue, isExists) {
	if ($("#proSpec" + specName).length == 0) {
		// 不存在该元素
		var bgcolor = "#FFFFFF";
		var leng = $("div[id^='proSpec']").length;
		if (leng % 2 == 0) {
			bgcolor = "#f5f5f5";
		}
		var html = '<div class="row" style="border-top: 1px solid #ddd;padding-top:5px;padding-bottom:5px;background-color: '
				+ bgcolor
				+ ';">'
				+ '<div class="col-md-1" style="text-align:center; padding-top: 5px">'
				+ (leng + 1)
				+ '</div>'
				+ '<div class="col-md-1" style="text-align:center; padding-top: 5px"><label>'
				+ specName
				+ '</label></div>' + '<div class="col-md-10" id="proSpec' + specName + '"></div>' + '</div>';
		$("#productSpecDiv").append(html);
	}
	var className = 'divuncheck';
	if (isExists) {
		className = 'divcheck';
	}
	var specLeng = $("div[id^='" + specName + "']").length;
	var divHtml = '<div class="' + className + ' productSpec" id="' + (specName + '' + specLeng) + '"' + 'title="'
			+ specName + '#' + specValue + '#' + specId + '" ' + 'onclick="javascript: doSetChoseSpec(this);">'
			+ specValue + '</div>';
	$("#proSpec" + specName).append(divHtml);
}

/**
 * 属性点击选中
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月14日 上午12:57:04
 * @param obj
 */
function doSetChoseSpec(obj) {
	var id = obj.id;
	if ($("#" + id).hasClass("divcheck")) {
		$("#" + id).removeClass("divcheck");
		$("#" + id).addClass("divuncheck");
	} else {
		$("#" + id).removeClass("divuncheck");
		$("#" + id).addClass("divcheck");
	}
	doGetCheckedSpec();
}

function doGetCheckedSpec() {
	var productSpecArr = $(".productSpec.divcheck");
	if (null != productSpecArr && productSpecArr.length > 0) {
		var productSpecChose = '';
		for (var i = 0; i < productSpecArr.length; i++) {
			var proSpec = productSpecArr[i];
			productSpecChose = productSpecChose + proSpec.title + ',';
		}
		$("#productSpecChose").val(productSpecChose);
		if (productSpecChose) {
			// 数据组装
			$.ajax({
				url : rootPath + "/product/doChoseSpecGroup",
				type : "post",
				async : false,
				dataType : 'json',
				data : {
					productSpecChose : productSpecChose
				},
				success : function(data) {
					if (data.code == '1') {
						loadProductSpecTable(data);
					} else {
						showErr(data.msg);
					}
				}
			});
		} else {
			$("#productSpecSetTable").html('');
		}
	}
}

/**
 * 初始化规格设置表格（修改）
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月16日 下午4:30:02
 */
function initSpecRelaTable() {
	var id = $("#id").val();
	if (!id) {
		return;
	}
	var specRelaColumns = $("#specRelaColumns").val();
	var columns = [ {
		title : '序号',
		align : 'center'
	} ];
	var strColumns = "[";
	strColumns += "{ title : '序号', align : 'center',valign : 'middle',formatter : function(value, row, index) {return index + 1;}},";
	var columnArr = specRelaColumns.split('#');
	for (var i = 0; i < columnArr.length; i++) {
		var dateKey = columnArr[i];
		if (dateKey != 'onlineStatus') {// 跳过上下架设置
			strColumns += '{"field": "' + dateKey + '", "title": "' + dateKey
					+ '", align: "center", valign: "middle"},';
		}
	}
	strColumns += "]";
	var columns = eval('(' + strColumns + ')');
	columns
			.push({
				field : 'onlineStatus',
				title : '上下架',
				align : 'center',
				width : 200,
				formatter : function(value, row, index) {
					// if(value == "1") {
					// return "<div class=\"switch switch-small\"
					// oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\"
					// offtext=\"下架\">"+
					// "<div class=\"bootstrap-switch bootstrap-switch-wrapper
					// bootstrap-switch-animate bootstrap-switch-on\"
					// style=\"width: 106px;\">"+
					// "<div class=\"bootstrap-switch-container\" style=\"width:
					// 156px; margin-left: 0px;\">"+
					// "<span class=\"bootstrap-switch-handle-on btn-danger\"
					// style=\"width: 52px;\">上架</span>"+
					// "<span class=\"bootstrap-switch-handle-off\"
					// style=\"width: 52px;\" onclick='javascript:
					// modifyOnlineStatus(" + value + ", " + index +
					// ");'>下架</span>"+
					// "</div></div></div>";
					// } else {
					// return "<div class=\"switch switch-small\"
					// oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\"
					// offtext=\"下架\">"+
					// "<div class=\"bootstrap-switch bootstrap-switch-wrapper
					// bootstrap-switch-animate bootstrap-switch-on\"
					// style=\"width: 106px;\">"+
					// "<div class=\"bootstrap-switch-container\" style=\"width:
					// 156px; margin-left: 0px;\">"+
					// "<span class=\"bootstrap-switch-handle-off\"
					// style=\"width: 52px;\" onclick='javascript:
					// modifyOnlineStatus(" + value + ", " + index +
					// ");'>上架</span>"+
					// "<span class=\"bootstrap-switch-handle-on btn-danger\"
					// style=\"width: 52px;\">下架</span>"+
					// "</div></div></div>";
					// }
					if (value == "1") {
						return "<div class=\"switch\" oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\" offtext=\"下架\">"
								+ "<div class=\"bootstrap-switch bootstrap-switch-wrapper bootstrap-switch-mini bootstrap-switch-animate bootstrap-switch-on\" style=\"width: 70px;\">"
								+ "<div class=\"bootstrap-switch-container\" style=\"width: 102px; margin-left: 0px;\">"
								+ "<span class=\"bootstrap-switch-handle-on btn-danger\" style=\"width: 34px;\">上架</span>"
								+ "<span class=\"bootstrap-switch-handle-off\" style=\"width: 34px;\" onclick='javascript: modifyOnlineStatus("
								+ value + ", " + index + ");'>下架</span>" + "</div></div></div>";
					} else {
						return "<div class=\"switch\" oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\" offtext=\"下架\">"
								+ "<div class=\"bootstrap-switch bootstrap-switch-wrapper bootstrap-switch-mini bootstrap-switch-animate bootstrap-switch-on\" style=\"width: 70px;\">"
								+ "<div class=\"bootstrap-switch-container\" style=\"width: 102px; margin-left: 0px;\">"
								+ "<span class=\"bootstrap-switch-handle-off\" style=\"width: 34px;\" onclick='javascript: modifyOnlineStatus("
								+ value
								+ ", "
								+ index
								+ ");'>上架</span>"
								+ "<span class=\"bootstrap-switch-handle-on btn-danger\" style=\"width: 34px;\">下架</span>"
								+ "</div></div></div>";
					}
				}
			});
	var specRelaRows = $("#specRelaRows").html();
	if (specRelaRows) {
		var dataRows = jQuery.parseJSON(specRelaRows);
		sys.initTable('productSpecSetTable', {
			data : dataRows,
			columns : columns,
			pagination : false,
			striped : true,
			clickToSelect : true
		});
	}
}

/**
 * 加载规格数据
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月14日 下午5:48:00
 * @param data
 */
function loadProductSpecTable(data) {
	var columnsTab = data.columns;
	var columns = [ {
		title : '序号',
		align : 'center'
	} ];
	var strColumns = "[";
	strColumns += "{ title : '序号', align : 'center',valign : 'middle',formatter : function(value, row, index) {return index + 1;}},";
	for (var i = 0; i < columnsTab.length; i++) {
		var dateKey = columnsTab[i];
		if (dateKey != 'onlineStatus') {// 跳过上下架设置
			strColumns += '{"field": "' + dateKey + '", "title": "' + dateKey
					+ '", align: "center", valign: "middle"},';
		}
	}
	strColumns += "]";
	var columns = eval('(' + strColumns + ')');
	columns
			.push({
				field : 'onlineStatus',
				title : '上下架',
				align : 'center',
				width : 200,
				formatter : function(value, row, index) {
					// if(value == "1") {
					// return "<div class=\"switch switch-small\"
					// oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\"
					// offtext=\"下架\">"+
					// "<div class=\"bootstrap-switch bootstrap-switch-wrapper
					// bootstrap-switch-animate bootstrap-switch-on\"
					// style=\"width: 106px;\">"+
					// "<div class=\"bootstrap-switch-container\" style=\"width:
					// 156px; margin-left: 0px;\">"+
					// "<span class=\"bootstrap-switch-handle-on btn-danger\"
					// style=\"width: 52px;\">上架</span>"+
					// "<span class=\"bootstrap-switch-handle-off\"
					// style=\"width: 52px;\" onclick='javascript:
					// modifyOnlineStatus(" + value + ", " + index +
					// ");'>下架</span>"+
					// "</div></div></div>";
					// } else {
					// return "<div class=\"switch switch-small\"
					// oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\"
					// offtext=\"下架\">"+
					// "<div class=\"bootstrap-switch bootstrap-switch-wrapper
					// bootstrap-switch-animate bootstrap-switch-on\"
					// style=\"width: 106px;\">"+
					// "<div class=\"bootstrap-switch-container\" style=\"width:
					// 156px; margin-left: 0px;\">"+
					// "<span class=\"bootstrap-switch-handle-off\"
					// style=\"width: 52px;\" onclick='javascript:
					// modifyOnlineStatus(" + value + ", " + index +
					// ");'>上架</span>"+
					// "<span class=\"bootstrap-switch-handle-on btn-danger\"
					// style=\"width: 52px;\">下架</span>"+
					// "</div></div></div>";
					// }
					if (value == "1") {
						return "<div class=\"switch\" oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\" offtext=\"下架\">"
								+ "<div class=\"bootstrap-switch bootstrap-switch-wrapper bootstrap-switch-mini bootstrap-switch-animate bootstrap-switch-on\" style=\"width: 70px;\">"
								+ "<div class=\"bootstrap-switch-container\" style=\"width: 102px; margin-left: 0px;\">"
								+ "<span class=\"bootstrap-switch-handle-on btn-danger\" style=\"width: 34px;\">上架</span>"
								+ "<span class=\"bootstrap-switch-handle-off\" style=\"width: 34px;\" onclick='javascript: modifyOnlineStatus("
								+ value + ", " + index + ");'>下架</span>" + "</div></div></div>";
					} else {
						return "<div class=\"switch\" oncolor=\"success\" offcolor=\"warning\" ontext=\"上架\" offtext=\"下架\">"
								+ "<div class=\"bootstrap-switch bootstrap-switch-wrapper bootstrap-switch-mini bootstrap-switch-animate bootstrap-switch-on\" style=\"width: 70px;\">"
								+ "<div class=\"bootstrap-switch-container\" style=\"width: 102px; margin-left: 0px;\">"
								+ "<span class=\"bootstrap-switch-handle-off\" style=\"width: 34px;\" onclick='javascript: modifyOnlineStatus("
								+ value
								+ ", "
								+ index
								+ ");'>上架</span>"
								+ "<span class=\"bootstrap-switch-handle-on btn-danger\" style=\"width: 34px;\">下架</span>"
								+ "</div></div></div>";
					}
				}
			});
	sys.initTable('productSpecSetTable', {
		data : data.rows,
		columns : columns,
		pagination : false,
		striped : true,
		clickToSelect : true
	});
}

/**
 * 批量设置规格组合上下架
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月15日 下午5:02:23
 * @param spanId
 * @param onlineStatus
 */
function setAllOnStatus(spanId, onlineStatus) {
	// 按钮切换样式
	$(".bootstrap-switch-handle-on.btn-danger").addClass('bootstrap-switch-handle-off');
	$(".bootstrap-switch-handle-on.btn-danger").removeClass('btn-danger');
	$(".bootstrap-switch-handle-on").removeClass('btn-danger');
	$(".bootstrap-switch-handle-on").removeClass('bootstrap-switch-handle-on');
	$("#" + spanId).removeClass('bootstrap-switch-handle-off');
	$("#" + spanId).addClass('bootstrap-switch-handle-on');
	$("#" + spanId).addClass('btn-danger');
	// 数据重新组装加载
	var dataRows = $("#productSpecSetTable").bootstrapTable('getData');
	if (dataRows) {
		var arrayObj = new Array(dataRows.length);
		for (var i = 0; i < dataRows.length; i++) {
			dataRows[i].onlineStatus = onlineStatus;
			arrayObj[i] = dataRows[i];
		}
		$("#productSpecSetTable").bootstrapTable('load', arrayObj);
	}
}

/**
 * 规格组合明细商品上下架处理
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月15日 上午11:09:03
 */
function modifyOnlineStatus(onlineStatus, index) {
	// 上下架切换（1=上架，0=下架）
	onlineStatus = (onlineStatus == 1) ? 0 : 1;
	var dataRows = $("#productSpecSetTable").bootstrapTable('getData');
	if (dataRows) {
		var arrayObj = new Array(dataRows.length);
		for (var i = 0; i < dataRows.length; i++) {
			if (i == index) {
				dataRows[i].onlineStatus = onlineStatus;
			}
			arrayObj[i] = dataRows[i];
		}
		$("#productSpecSetTable").bootstrapTable('load', arrayObj);
	}
}

/**
 * 不使用模版弹出层-->选中属性--点击确认，回传页面，加载选中的属性项，已存在的使其选中
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年11月6日 下午3:57:06
 */
function doGetProperties() {
	//当前选中商品
	var result = $("#productPropertyTable").bootstrapTable("getAllSelections");
	if(null == result || result.length == 0) {
		showErr('您没有选择任何属性！');
		return;
	}
	// 原模版ID
	var propertyTmeplateId = $("#propertyTmeplateId").val();
	// 原商品已选中属性
	var properties = $("#properties").val();
	// 根据逗号拆分，（已选中属性）
	var propertyArr = properties.split(',');
	$("#productPropertyDiv").html('');
	//加载选中属性到页面
	// 遍历不同属性
	var html = "";
	for (var i = 0; i < result.length; i++) {
		var propertyValueArr = result[i].propertyValue.split(',');
		if (propertyValueArr.length > 0) {
			html += "<div class=\"item form-group\">";
			html += "<label class=\"control-label col-md-2\">" + result[i].propertyName + "：&nbsp;&nbsp;</label>";
			html += "<div class=\"col-md-10\" style=\"padding-left: 0px; padding-top: 3px;\">";
			// 遍历属性的值
			for (var j = 0; j < propertyValueArr.length; j++) {
				var className = 'divuncheck';
				var itemValue = result[i].propertyName + "#" + propertyValueArr[j];
				// 选中的模板与之前选择的一致，并且值匹配
				//之前的写法才indexOf验证是否存在该属性，
				//但是有个问题：光驱#DVD，光驱#DVDRW；如果客户选中的是“光驱#DVD”，那么这两个会同时被选中
				for (var k = 0; k < propertyArr.length; k++) {
					var chosePropertiesName = propertyArr[k].split("#")[1];
					var chosePropertiesValue = propertyArr[k].split("#")[2];
					if (propertyTmeplateId == id && chosePropertiesName == result[i].propertyName
							&& chosePropertiesValue == propertyValueArr[j]) {
						className = 'divcheck';
						break;
					}
				}
				html += "<div class=\"" + className + " baseTab\" id=\"" + (result[i].propertyName + j)
				+ "\"";
				html += "name=\"" + result[i].propertyName + "\"";
				html += "title=\""
					+ (result[i].id + "#" + result[i].propertyName + "#" + propertyValueArr[j]) + "\"";
				html += "onclick=\"javascript: doSetValue(this);\">" + propertyValueArr[j] + "</div>";
			}
			html += "</div></div>";
		}
	}
	$("#productPropertyDiv").html(html);
	$('#productPropertyModal').modal('hide');
}



/**
 * 添加属性到商品属性模板中
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年11月6日 下午5:24:13
 * @param propertyName
 * @param propertyValue
 * @param propertyId
 */
function addPropertyToPage(propertyName,propertyValue,propertyId) {
	//不管之前有没有，先删除
	$("div[title='" + propertyName + "']").remove();
	// 原模版ID
	var propertyTmeplateId = $("#propertyTmeplateId").val();
	// 原商品已选中属性
	var properties = $("#properties").val();
	// 根据逗号拆分，（已选中属性）
	var propertyArr = properties.split(',');
	//var oldHtml = $("#productPropertyDiv").html();
	//加载选中属性到页面
	// 遍历不同属性
	var html = "";
	var propertyValueArr = propertyValue.split(',');
	if (propertyValueArr.length > 0) {
		html += "<div class=\"item form-group\" title='" + propertyName + "'>";
		html += "<label class=\"control-label col-md-2\">" + propertyName + "：&nbsp;&nbsp;</label>";
		html += "<div class=\"col-md-10\" style=\"padding-left: 0px; padding-top: 3px;\">";
		// 遍历属性的值
		for (var j = 0; j < propertyValueArr.length; j++) {
			var className = 'divuncheck';
			var itemValue = propertyName + "#" + propertyValueArr[j];
			// 选中的模板与之前选择的一致，并且值匹配
			//之前的写法才indexOf验证是否存在该属性，
			//但是有个问题：光驱#DVD，光驱#DVDRW；如果客户选中的是“光驱#DVD”，那么这两个会同时被选中
			for (var k = 0; k < propertyArr.length; k++) {
				var chosePropertiesName = propertyArr[k].split("#")[1];
				var chosePropertiesValue = propertyArr[k].split("#")[2];
				if (propertyTmeplateId == id && chosePropertiesName == propertyName
						&& chosePropertiesValue == propertyValueArr[j]) {
					className = 'divcheck';
					break;
				}
			}
			html += "<div class=\"" + className + " baseTab\" id=\"" + (propertyName + j) + "\"";
			html += "name=\"" + propertyName + "\"";
			html += "title=\""
				+ (propertyId + "#" + propertyName + "#" + propertyValueArr[j]) + "\"";
			html += "onclick=\"javascript: doSetValue(this);\">" + propertyValueArr[j] + "</div>";
		}
		html += "<button type='button' onclick='javascript: removeDiv(\""+propertyName+"\");' class='btn btn-xs btn-danger marginTop8'>删除</button>"
		html += "</div>"
		html += "</div>";
	}
	//重设属性值
	$("#productPropertyDiv").append(html);
	//删除已经添加到模板中的属性
	$("#productPropertyTable").bootstrapTable("remove",{field: 'propertyName', values: [propertyName]});
}

/**
 * 打开属性选择窗口
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年11月6日 下午5:48:00
 */
function openPropertyWin() {
 // 定义列
	var columns = [ {
		checkbox : true,
		align : 'center',
		visible : false
	}, {
		title : '序号',
		align : 'center',
		valign : "middle",
		formatter : function(value, row, index) {
			var options = $("#productPropertyTable").bootstrapTable("getOptions");
			return options.pageSize * (options.pageNumber - 1) + index + 1;
		}
	}, {
		field : 'propertyId',
		title : '属性名称ID',
		align : 'center',
		valign : 'middle',
		visible : false
	}, {
		field : 'propertyName',
		title : '属性名称',
		align : 'center',
		valign : 'middle',
	}, {
		field : 'propertyValue',
		title : '属性值',
		align : 'center',
		valign : 'middle',
	}, {   
		field : '#',
		title : '操作',
		align : 'center',
		valign: 'middle',
		formatter : function(value, row, index) {
			return "<a class='btn btn-info btn-xs' href='javaScript:void(0);'onclick='javascript: addPropertyToPage(\""+row.propertyName+"\",\""+row.propertyValue+"\",\""+row.id+"\")'><i class='fa fa-plus fa-fw'></i> 加入</a>";
		}
	} ];

	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		// var id = $("#id").val();
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber
		// , // 页码
		// productId : id
		};
	};
	var url = rootPath + "/productProperty/listProductPropertyPage"; // 请求json数据的服务器地址
	sys.initTable('productPropertyTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		pageList : [10,20,30],
		height : 350,
		striped : true,
		pagination : true,
		clickToSelect : true
	});
	$('#productPropertyModal').modal('show');
}
/**
 * 自选属性-根据title移除div
 */
function removeDiv(title) {
	$('div[title="' + title + '"]').remove();
	//重新设置属性、值
	doSetValue($('div[title="' + title + '"]'));
}

/**
 * 点击属性模版，属性选择联动
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月13日 下午4:16:06
 * @param id
 */
function doChangePropertyTemplate(id) {
	if (id == '-1') {
		$("#productPropertyDiv").html('');
		//添加按钮
		$("#productPropertyTemplateDiv").append('<button type="button" id="btnChoseProperty" onclick="javascript: openPropertyWin();" class="btn btn-primary btn-xs marginBottom6">自选属性</button>');
		//$("#productPropertyTemplateDiv").append('<button type="button" id="btnClearProperty" onclick="javascript: $(\'#productPropertyDiv\').empty();" class="btn btn-danger btn-xs marginBottom6">清空属性</button>');
		// 不使用模版
		if($("#id").val()) {
			//修改，加载自定义属性模块
			$.ajax({
				url : rootPath + "/productProperty/listByProductId",
				type : "post",
				async : false,
				dataType : 'json',
				data : {
					productId : $("#id").val()
				},
				success : function(data) {
					if ('1' == data.code) {
						var rows = data.rows;
						var html = "";
						if (rows.length > 0) {
							// 原模版ID
							var propertyTmeplateId = -1;
//							// 原商品已选中属性
//							var properties = $("#properties").val();
//							// 根据逗号拆分，（已选中属性）
//							var propertyArr = properties.split(',');
							$("#productPropertyDiv").html('');
							// 遍历不同属性
							for (var i = 0; i < rows.length; i++) {
								var propertyValueArr = rows[i].propertyValue.split(',');
								if (propertyValueArr.length > 0) {
									html += "<div class=\"item form-group\" title=" + rows[i].propertyName +">";
									html += "<label class=\"control-label col-md-2\">" + rows[i].propertyName + "：&nbsp;&nbsp;</label>";
									html += "<div class=\"col-md-10\" style=\"padding-left: 0px; padding-top: 3px;\">";
									// 遍历属性的值
									for (var j = 0; j < propertyValueArr.length; j++) {
										var className = 'divuncheck';
										var itemValue = rows[i].propertyName + "#" + propertyValueArr[j];
										// 不使用模版特有属性checkedPropertyValue（已选中属性）
										if(propertyValueArr[j] == rows[i].checkedPropertyValue) {
											className = 'divcheck';
										}
										html += "<div class=\"" + className + " baseTab\" id=\"" + (rows[i].propertyName + j) + "\"";
										html += "name=\"" + rows[i].propertyName + "\"";
										html += "title=\""
											+ (rows[i].id + "#" + rows[i].propertyName + "#" + propertyValueArr[j]) + "\"";
										html += "onclick=\"javascript: void(0);\">" + propertyValueArr[j] + "</div>";
									}
									html += "</div>"
									html += "</div>";
								}
							}
							$("#productPropertyDiv").html(html);
						}
					}
				}
			});
		}
	} else {
		//删除不使用模版的两个按钮
		$("#btnChoseProperty").remove();
		//$("#btnClearProperty").remove();
		//有模版的情况下
		$.ajax({
			url : rootPath + "/productProperty/listPropductPropertyTemplatePropertyList",
			type : "post",
			async : false,
			dataType : 'json',
			data : {
				id : id
			},
			success : function(data) {
				if ('1' == data.code) {
					var rows = data.rows;
					var html = "";
					if (rows.length > 0) {
						// 原模版ID
						var propertyTmeplateId = $("#propertyTmeplateId").val();
						// 原商品已选中属性
						var properties = $("#properties").val();
						// 根据逗号拆分，（已选中属性）
						var propertyArr = properties.split(',');
						$("#productPropertyDiv").html('');
						// 遍历不同属性
						for (var i = 0; i < rows.length; i++) {
							var propertyValueArr = rows[i].propertyValue.split(',');
							if (propertyValueArr.length > 0) {
								html += "<div class=\"item form-group\">";
								html += "<label class=\"control-label col-md-2\">" + rows[i].propertyName + "：&nbsp;&nbsp;</label>";
								html += "<div class=\"col-md-10\" style=\" padding-left: 0px; padding-top: 3px;\">";
								// 遍历属性的值
								for (var j = 0; j < propertyValueArr.length; j++) {
									var className = 'divuncheck';
									var itemValue = rows[i].propertyName + "#" + propertyValueArr[j];
									// 选中的模板与之前选择的一致，并且值匹配
									//之前的写法才indexOf验证是否存在该属性，
									//但是有个问题：光驱#DVD，光驱#DVDRW；如果客户选中的是“光驱#DVD”，那么这两个会同时被选中
									for (var k = 0; k < propertyArr.length; k++) {
										var chosePropertiesName = propertyArr[k].split("#")[1];
										var chosePropertiesValue = propertyArr[k].split("#")[2];
										if (propertyTmeplateId == id && chosePropertiesName == rows[i].propertyName
												&& chosePropertiesValue == propertyValueArr[j]) {
											className = 'divcheck';
											break;
										}
									}
									html += "<div class=\"" + className + " baseTab\" id=\"" + (rows[i].propertyName + j)
									+ "\"";
									html += "name=\"" + rows[i].propertyName + "\"";
									html += "title=\""
										+ (rows[i].id + "#" + rows[i].propertyName + "#" + propertyValueArr[j]) + "\"";
									html += "onclick=\"javascript: void(0);\">" + propertyValueArr[j] + "</div>";
								}
								html += "</div></div>";
							}
						}
						$("#productPropertyDiv").html(html);
					}
				} else {
					showErr(data.msg);
				}
			}
		});
	}
}

/**
 * 切换Tab
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月29日 下午11:09:37
 * @param type
 */
function doSelectTab(type) {
	// 删除样式
	$("#productTab li").removeClass("active");
	$(".tab-pane").removeClass("active");
	$(".tab-pane").removeClass("in");
	// 添加样式
	$("#" + type + "Li").addClass("active");
	$("#" + type + "Tab").addClass("in");
	$("#" + type + "Tab").addClass("active");

	if (type == 'base') {
		//do nothing
	} else if (type == 'norms') {
		doLoadProductSpecByCategory();
	} else if (type == 'rela') {
//		$('#searchProductCategory').comboboxTree({
//			id : "searchProductCategory",
//			url : rootPath + '/productCategory/categoryTree',
//			// param: [], //请求参数
//			idKey : 'id', // 下拉框树节点id，默认值为id
//			pIdKey : 'pid', // 下拉框树节点父id，默认值为pid
//			rootPId : "0", // 根节点值,默认值为0
//			nameKey : 'name'// , //文本key
//		});
	} else if (type == 'desc') { //图文消息
		initFancyBoxImg("productImg");
	} else if (type == 'visible') { //商品可见性
		if  (invisiableTabOnce == 0) {
			invisiableTabOnce = 1;
			//加载客户属性选项
			loadCustomPropertyCombo();
			//加载已选择客户属性
			loadProductInvisiable(); 
		}
	}
}
/**
 * 商品分类变更，重新加载商品属性模板
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月13日 上午10:35:10
 */
function doReLoadTemplateByCategory() {
	// $("#productCategoryVal").val();
	var productCategoryId = $("#productCategoryId").val();//.attr("bind-data");
	$.ajax({
		url : rootPath + "/productCategoryPropertyTemplate/getPropertyTemplateListByCategoryId",
		type : "post",
		async : false,
		dataType : 'json',
		data : {
			productCategoryId : productCategoryId
		},
		success : function(data) {
			$("#productPropertyTemplateDiv").html('');
			$("#productPropertyDiv").html('');
			var propertyTmeplateId = $('#propertyTmeplateId').val();
			if ('1' == data.code) {
				var rows = data.rows;
				var html = '';
				if (rows.length > 0) {
					for (var i = 0; i < rows.length; i++) {
						if (rows[i].propertyTemplateId == propertyTmeplateId) {
							html += '<input limit="template" type="radio" name="propertyTmeplateId"'
									+ ' checked="checked" value="' + rows[i].propertyTemplateId + '" />&nbsp;<label>'
									+ rows[i].propertyTemplateName + '</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
							// 主动触发，加载属性
							doChangePropertyTemplate(rows[i].propertyTemplateId);
						} else {
							html += '<input limit="template" type="radio" name="propertyTmeplateId"' + 'value="'
									+ rows[i].propertyTemplateId + '" />&nbsp;<label>' + rows[i].propertyTemplateName
									+ '</label>&nbsp;&nbsp;';
						}
					}
					// 增加一个"不使用模板"的选项
					if (propertyTmeplateId == '-1') {
						html += '<input limit="template" type="radio" name="propertyTmeplateId"'
								+ ' checked="checked" value="-1" />&nbsp;<label>不使用模版</label>&nbsp;&nbsp;&nbsp;'
								+ '<button type="button" id="btnChoseProperty" onclick="javascript: openPropertyWin();" class="btn btn-primary btn-xs marginBottom6">自选属性</button>';
								//+ '<button type="button" id="btnClearProperty" onclick="javascript: $(\'#productPropertyDiv\').empty();" class="btn btn-danger btn-xs marginBottom6">清空属性</button>';
						// 主动触发，加载属性
						//加载下面选项
						doChangePropertyTemplate('-1');
					} else {
						html += '<input limit="template" type="radio" name="propertyTmeplateId"'
							+ ' value="-1" />&nbsp;<label>不使用模版</label>&nbsp;&nbsp;&nbsp;';
					}
					$("#productPropertyTemplateDiv").html(html);
					$('input[type="radio"][name="propertyTmeplateId"]').iCheck({
						radioClass : 'iradio_square-green'
					});
				}
			} else {
				showErr('根据分类加载商品模版失败，可能是该商品分类未关联商品模版！');
			}
		}
	});
}

//***********************************************************************************************
//商品可见性
//by solin
//***********************************************************************************************
//保存商品可见性设置
$('#btnSaveInvisible').on('click', function(){
	doSelectTab('desc');
})
/**
 * 加载已选择的商品可见性 
 */
function loadProductInvisiable(selectAll){
	var productId = $("#id").val();
	if (!productId) return false;
	var opFlag = $('#opFlag').val();
	var requestUrl = "";  
	//如果是新增
	if (selectAll) {
		requestUrl = rootPath + "/productInvisiable/getAllCustomerPropertyList";
		$("#choseTargetDiv ul").empty();
	} else if (opFlag == 'add') {
		requestUrl = rootPath + "/productInvisiable/getAllCustomerPropertyList";
	} else if (opFlag == 'edit') { //如果是编辑
		requestUrl = rootPath + "/productInvisiable/listProductInvisiable";
	} else {
		return false;
	} 
	$.ajax({
		type: 'POST',
		url: requestUrl,
		data: {productId: productId},
		dataType: 'json',
		success: function(data) {
			$.each(data, function(index) {
				var propertyTypeName = this.propertyTypeName;
				var propertyId = this.invisiableType=='1'?'0':this.propertyId;
				var propertyValue = this.invisiableType=='1'?this.propertyId:this.propertyValue;
				var propertyName = this.propertyValue;
				var divId = index;
				var html = '<li class="targetLi' + divId + '" title="' + propertyId + '#'+propertyValue+'#'+ propertyName + '">'
				+ '<a href="javascript:void(0)">'
				+ '<b id="filter_name">' + propertyTypeName + '</b>：'
				+ '<b id="filter_value" class="color">' + propertyName + '</b>'
				+ '<i id="'+propertyId+'" name="close_filter" onclick="javascript: delWinTarget(\'targetLi' + divId + '\')">×</i>'
				+ '</a>'
				+ '</li>';
				$("#choseTargetDiv ul").append(html);
				
			})
			loadPromotionTargetProperties();
		}
	})
}
/**
 * 加载活动对象类型（自定义客户属性）
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月18日 下午6:34:58
 */
function loadCustomPropertyCombo() {
	$.ajax({
		url : rootPath + "/customerCustomField/listCustomerCustomField",
		type : "post",
		async : false,
		dataType : 'json',
		data : {
			status : 1,
			isDelete : 1
		},
		success : function(data) {
			// 先清空
			$("#customPropertyCombo").empty();
			// 先添加客户级别
			$("#customPropertyCombo").append("<option value=\"0\">客户级别</option>");
			if (null != data && data.length > 0) {
				for (var i = 0; i < data.length; i++) {
					$("#customPropertyCombo").append(
							"<option value='" 
							+ data[i].id + "' desc='"
							+ data[i].choiceOption + "'>"
							+ data[i].fieldName + "</option>");
				}
			}
		}
	});
}
/**
 * 客户属性选项下拉列表选择
 */
$("#customPropertyCombo").change(function() {
	loadPromotionTargetProperties();
});

/**
 * 加载客户属性值
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月19日 上午10:42:28
 */
function loadPromotionTargetProperties() {
	var targetTypeVal = $("#customPropertyCombo").val();
	var targetTypeName = $("#customPropertyCombo option:selected").text()
	if('0' == targetTypeVal) {
		// 客户级别（客户级别是写死的，从eb_customer_level表里获取数据）
		$.ajax({
			url : rootPath + '/customerLevel/listCustomerLevel',
			type : "post",
			async : false,
			dataType : 'json',
			success : function(data) {
				if(data && data.length > 0) {
					// 先清空
					$("#targetsDiv").html('');
					var targetHtml = '';
					var chooseTargetHtmlStr = $("#choseTargetDiv").html();
					for (var i = 0; i < data.length; i++) {
						//组装 value / title【 活动对象类型ID#活动对象类型名称#属性值#属性名称 】
						var value = (targetTypeVal + '#' + data[i].id + '#' + data[i].levelName);
						//验证是否已被选中
						var exists = chooseTargetHtmlStr.indexOf(value);
						var checkStr = '';
						if(exists != -1) {
							checkStr = " checked=\"checked\" ";
						}
						targetHtml += '<input type="checkbox" class="targetCheckbox" name="' + targetTypeName + '" ' + checkStr + ' value="' + value + '" title="' + value + '">&nbsp;<label>' + data[i].levelName + '</label><br/>';
						//$("#promotionTargetCombo").append("<option value='" + data[i].id + "'>" + data[i].levelName + "</option>");
					}
					$("#targetsDiv").html(targetHtml);
				}
			}
		});
	} else {
		//其他活动对象类型是根据客户自定义属性获取的
		try {
			$("#targetsDiv").html('');
			var choiceOptionStr = $("#customPropertyCombo").find("option:selected").attr("desc");
			var choiceOptionArr = $.parseJSON(choiceOptionStr);
			if(choiceOptionArr && choiceOptionArr.length > 0) {
				var targetHtml = '';
				var chooseTargetHtmlStr = $("#choseTargetDiv").html();
				for (var i = 0; i < choiceOptionArr.length; i++) {
					//组装 value / title【 活动对象类型ID#活动对象类型名称#属性值#属性名称 】
					var value = (targetTypeVal + '#' + choiceOptionArr[i].key + '#' + choiceOptionArr[i].value);
					//验证是否已被选中
					var exists = chooseTargetHtmlStr.indexOf(value);
					var checkStr = '';
					if(exists != -1) {
						checkStr = " checked=\"checked\" ";
					}
					targetHtml += '<input type="checkbox" class="targetCheckbox" name="' + targetTypeName + '" value="' + value + '" title="' + value + '"' + checkStr + '>&nbsp;<label>' + choiceOptionArr[i].value + '</label><br/>';
				}
				$("#targetsDiv").html(targetHtml);
			}
		} catch(e) {
			console.log(e);
		}
	}
	//多选框加样式
	$('input[type="checkbox"]').iCheck({checkboxClass: 'icheckbox_square-green'});
	
	$('input.targetCheckbox').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定
		doCheckedTarget($(this).val(), $(this).attr('name'));
	});
	$('input.targetCheckbox').on('ifUnchecked', function(event){ //ifUnchecked 事件应该在插件初始化之前绑定 
		doUnCheckedTarget($(this).val());
	});
}


/**
 * 选择客户属性值
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月19日 上午11:11:40
 * @param value
 */
function doCheckedTarget(value, targetTypeName) { 
	var propertyName = value.split('#')[2];
	var divId = new Date().getTime();
	var html = '<li class="targetLi' + divId + '" title="' + value + '">'
		+ '<a href="javascript:void(0)">'
		+ '<b id="filter_name">' + targetTypeName + '</b>：'
		+ '<b id="filter_value" class="color">' + propertyName + '</b>'
		+ '<i id="'+value+'" name="close_filter" onclick="javascript: delWinTarget(\'targetLi' + divId + '\')">×</i>'
		+ '</a>'
		+ '</li>';
	$("#choseTargetDiv ul").append(html);
}

/**
 * 取消选中客户属性值
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月19日 上午11:12:04
 * @param value
 */
function doUnCheckedTarget(value) {
	// 取消选中活动对象
	$("#choseTargetDiv li[title='" + value + "']").remove();
	// 重新加载活动对象属性值（取消已选中）
	loadPromotionTargetProperties();
}

function clearSelectedTarget(){
	$("#choseTargetDiv ul").empty();
	loadPromotionTargetProperties();
}

/**
 * 删除已选中客户属性值
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月29日 下午5:03:55
 * @param obj
 */
function delWinTarget(spanclass) {
	$("#choseTargetDiv ." + spanclass).remove();
	// 重新加载活动对象属性值（取消已选中）
	loadPromotionTargetProperties();
}
/**
 * 删除已选中客户属性值
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月29日 下午5:03:55
 * @param obj
 */
function delTarget(spanclass) {
	$("#promotionTargetDiv ." + spanclass).remove();
}

//***********************************************************************************************
